package com.maben.netty.udp.handler;

import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.SimpleChannelInboundHandler;
import io.netty.channel.socket.DatagramPacket;
import io.netty.util.CharsetUtil;

public class UdpClientHandler extends SimpleChannelInboundHandler<DatagramPacket> {

    /**
     * 监听客户端发送后的响应：端口使用的是发送的端口
     * 不能保证是一对一，有可能接收到的是上一个的udp回应！！！
     */
    @Override
    protected void channelRead0(ChannelHandlerContext ctx, DatagramPacket packet) {
        // 接收服务器的响应
        String response = packet.content().toString(CharsetUtil.UTF_8);
        System.out.println(Thread.currentThread()+",收到服务器响应: " + response);
    }

    @Override
    public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) {
        cause.printStackTrace();
        ctx.close();
    }
}
    